package cn.com.surker.production.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 生产砂浆运输结算信息表
 * </p>
 *
 * @author admin
 * @since 2024-05-31
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class ProductionMortarBill implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 公司ID
     */
    private Long orgId;

    /**
     * 公司
     */
    private String orgName;

    /**
     * 公司全称
     */
    private String orgFull;

    /**
     * 结算时间
     */
    private String today;

    /**
     * 项目ID
     */
    private Integer conId;

    /**
     * 项目名称
     */
    private String conName;

    /**
     * 运输供应商ID
     */
    private Long supplierId;

    /**
     * 运输供应商
     */
    private String supplier;

    /**
     * 类型(0：水，1：砂浆，2：返料，3：转料)
     */
    private Integer billType;

    /**
     * 业务类型
     */
    private String businessType;

    /**
     * 车次
     */
    private Integer tranNo;

    /**
     * 标号
     */
    private String carNo;

    /**
     * 自编号
     */
    private String code;

    /**
     * 方量
     */
    private Double stere;

    /**
     * 运距
     */
    private Double distance;

    /**
     * 单价
     */
    private Double price;

    /**
     * 总金额
     */
    private Double billMoney;
    /**
     * 含税单价
     */
    private Double taxPrice;

    /**
     * 含税总价
     */
    private Double taxBillMoney;

    /**
     * 是否导出(0:未导出1:已导出)
     */
    private Integer isExport;

    /**
     * 是否结算(0:结算1:不结算)
     */
    private Integer isBill;

    /**
     * 实际结算方量
     */
    private Double billStere;

    /**
     * 车辆类型(1:轻量化2:中车3:大车)
     */
    private Integer carModel;

    /**
     * 是否高速(0:否,1:是)
     */
    private Integer isSpeed;

    /**
     * ERPID
     */
    private Integer erpid;

    /**
     * 结算开始时间
     */
    private String startTime;

    /**
     * 结算结束时间
     */
    private String endTime;

    /**
     * 生产审核(0:未审核1:已审核)
     */
    private Integer isProduction;

    /**
     * 财务审核(0:未审核1:已审核)
     */
    private Integer isFinance;

    /**
     * 结算方式
     */
    private Integer countType;

    /**
     * 状态(0:启用1：禁用)
     */
    private Integer status;

    /**
     * 审核备注，当审核结果为不通过时，必填
     */
    private String remark;

    /**
     * 创建人
     */
    private String creater;

    /**
     * 创建日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createTime;

    /**
     * 更新人
     */
    private String updater;

    /**
     * 更新日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date updateTime;

    public ProductionMortarBill(){}

    public ProductionMortarBill(Long orgId, String orgName, String orgFull, String today, Integer conId, String conName, Long supplierId, String supplier, Integer billType, String businessType, Integer tranNo, String carNo, String code, Double stere, Double distance, Double price, Double billMoney, Integer isExport, Integer isBill, Double billStere, Integer carModel, Integer isSpeed, Integer erpid, String startTime, String endTime, Integer isProduction, Integer isFinance, Integer countType, Integer status, String remark, String creater, Date createTime) {
        this.orgId = orgId;
        this.orgName = orgName;
        this.orgFull = orgFull;
        this.today = today;
        this.conId = conId;
        this.conName = conName;
        this.supplierId = supplierId;
        this.supplier = supplier;
        this.billType = billType;
        this.businessType = businessType;
        this.tranNo = tranNo;
        this.carNo = carNo;
        this.code = code;
        this.stere = stere;
        this.distance = distance;
        this.price = price;
        this.billMoney = billMoney;
        this.isExport = isExport;
        this.isBill = isBill;
        this.billStere = billStere;
        this.carModel = carModel;
        this.isSpeed = isSpeed;
        this.erpid = erpid;
        this.startTime = startTime;
        this.endTime = endTime;
        this.isProduction = isProduction;
        this.isFinance = isFinance;
        this.countType = countType;
        this.status = status;
        this.remark = remark;
        this.creater = creater;
        this.createTime = createTime;
    }
}
